/**
 * Vuex状态管理主文件
 * 负责整合所有模块的状态管理，并配置持久化存储
 */

import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate' // 用于状态持久化

// 导入各个功能模块
import user from './modules/user' // 用户认证模块
import employee from './modules/employee' // 员工管理模块
import department from './modules/department' // 部门管理模块
import position from './modules/position' // 职位管理模块
import salary from './modules/salary' // 薪资管理模块
import businessTrip from './modules/businessTrip' // 出差管理模块
import announcement from './modules/announcement' // 公告管理模块
// 其他模块可继续引入

// 使用Vuex插件
Vue.use(Vuex)

// 创建并导出Vuex存储实例
export default new Vuex.Store({
  // 注册所有模块
  modules: { 
    user, 
    employee, 
    department, 
    position, 
    salary, 
    businessTrip, 
    announcement 
  },
  // 配置插件
  plugins: [
    // 配置状态持久化插件
    createPersistedState({
      // 指定需要持久化的模块
      paths: [
        'user', 
        'employee', 
        'department', 
        'position', 
        'salary', 
        'businessTrip', 
        'announcement'
      ]
    })
  ]
})